01
C语言基础回顾
指针的本质 · 指针与数组 · 指针与函数 · 动态内存管理 · 常见内存错误与调试
指针内存调试
02
数据结构概述
三要素 · 逻辑/存储结构 · 数据运算 · 时间复杂度 · 空间复杂度 · 大O表示法
复杂度大O
03
线性表之顺序表
定义与初始化 · 插入/删除/查找 · 动态扩容策略
顺序表动态数组
04
线性表之单链表
节点结构 · 头插/尾插 · 按位/按值查找 · 插入删除 · 逆置
单链表逆置
05
双链表与循环链表
双链表定义与操作 · 循环链表 · 静态链表概念
双链表循环链表
06
栈
顺序/链式存储 · 括号匹配 · 表达式求值 · 递归转非递归
栈表达式
07
队列
循环队列 · 链式队列 · 层次遍历 · 缓冲区应用
队列循环队列
08
串
顺序/链式存储 · 朴素匹配 · KMP · next/nextval数组
KMP串
09
数组与广义表
行/列优先 · 对称/三角/稀疏矩阵 · 广义表操作
压缩存储广义表
10
树与二叉树基础
定义与性质 · 顺序/链式存储 · 前/中/后/层次遍历
二叉树遍历
11
二叉树的应用
线索二叉树 · 哈夫曼树/编码 · 并查集(路径压缩/按秩合并)
线索哈夫曼并查集
12
二叉搜索树与平衡二叉树
BST查找/插入/删除 · AVL旋转与平衡
BSTAVL
13
红黑树与B树
红黑树性质/插入调整 · B树定义/查找/插入
红黑树B树
14
堆与优先队列
堆定义/存储 · 插入删除(上浮/下沉) · 堆排序 · 优先队列
堆优先队列
15
图的基础
邻接矩阵/表 · 十字链表 · 邻接多重表 · DFS/BFS
图DFSBFS
16
图的最小生成树
Prim算法 · Kruskal算法 · 比较与选择
PrimKruskal
17
图的最短路径
Dijkstra · Floyd · Bellman-Ford
DijkstraFloyd
18
拓扑排序与关键路径
AOV网 · 拓扑排序 · AOE网 · 关键路径算法
拓扑关键路径
19
查找基础
顺序查找(哨兵) · 折半查找 · 分块查找
二分分块
20
二叉搜索树与平衡查找树
BST/AVL/B树查找分析
查找分析
21
哈希查找
哈希表 · 直接定址/除留余数 · 开放定址/链地址 · 性能分析
哈希冲突
22
排序基础
直接插入 · 折半插入 · 希尔排序
插入排序希尔
23
交换排序
冒泡排序 · 快速排序(三数取中优化)
快排冒泡
24
选择排序
简单选择 · 堆排序(建堆/调整)
选择排序堆排序
25
归并排序与基数排序
二路归并(递归/非递归) · LSD/MSD基数排序
归并基数
26
内部排序比较与外部排序
算法比较 · 外部排序 · 多路归并 · 败者树
外部排序败者树
27
递归与分治
递归实现 · 分治法 · 汉诺塔/全排列/棋盘覆盖
分治递归
28
回溯法
八皇后 · 0-1背包 · 图的着色
回溯八皇后
29
贪心算法
活动选择 · 哈夫曼编码 · 最小生成树
贪心活动选择
30
动态规划基础
最优子结构 · 重叠子问题 · 斐波那契 · 数塔问题
DP数塔
31
动态规划进阶
LCS · LIS · 编辑距离
LCSLIS
32
动态规划再进阶
0-1背包 · 完全背包 · 多重背包
背包DP
33
动态规划高级应用
矩阵连乘 · 最优二叉搜索树 · 凸多边形三角剖分
矩阵连乘最优BST
34
字符串匹配算法进阶
KMP深入 · BM · Sunday · Rabin-Karp
BMSunday
35
位运算与状态压缩
与或异或取反移位 · 技巧(奇偶/交换/绝对值) · 状态压缩DP
位运算状压DP
36
并查集进阶
路径压缩/按秩合并 · 连通分量 · Kruskal · 带权并查集
并查集带权
37
线段树
建树 · 区间查询(最值/和) · 单点/区间更新(懒标记)
线段树懒标记
38
树状数组
单点更新区间查询 · 区间更新单点查询 · 与线段树比较
树状数组BIT
39
字典树 (Trie)
插入/查找 · 单词统计 · 前缀匹配 · 字符串排序
Trie前缀
40
AC自动机
Trie+Fail指针 · 多模式匹配 · 应用
AC自动机多模式
41
后缀数组与后缀树
倍增/DC3构造 · LCP与RMQ · 后缀树概念
后缀数组LCP
42
图论进阶
强连通分量(Tarjan/Kosaraju) · 割点/桥 · 二分图最大匹配(匈牙利)
Tarjan匈牙利
43
网络流基础
容量/流量 · Ford-Fulkerson · Edmonds-Karp · Dinic
最大流Dinic
44
网络流进阶
最小割最大流 · 最小费用最大流(SPFA/Dijkstra) · 二分图覆盖/独立集
费用流最小割
45
计算几何基础
点积/叉积 · 线段相交 · 多边形面积 · 凸包(Graham/Andrew)
凸包叉积
46
数论基础
GCD/LCM(扩展欧几里得) · 素数判定(埃氏/欧拉筛) · 快速幂
数论快速幂
47
组合数学基础
排列组合 · 二项式定理 · 容斥原理 · 卡特兰数 · 斯特林数
组合卡特兰
48
概率与随机化算法
蒙特卡洛 · 拉斯维加斯 · 随机化快排 · 随机化哈希
随机化蒙特卡洛
49
NP完全理论
P/NP/NPC/NP难 · SAT/TSP/顶点覆盖
NPNPC
50
算法设计与优化策略
设计过程 · 空间换时间 · 预处理 · 剪枝 · 分块 · 调试技巧
优化剪枝